﻿// Study0309.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
// 第三章 函数 递归
// 例3-9
//用递归法计算从 n 个人中选选 k 个人组成一个委员会的不同组合数。
//分析：
//由 n 个人里选 k 个人的组合数 = 由 n - 1 个人里选 k 个人的组合数 + 由 n - 1 个人里
//选 k - 1 个人的组合数；
//当 n = k 或 k = 0 时，组合数为 1。


#include <iostream>;
using namespace std;

int main()
{
	int n, k;
	int Commit(int n, int k);
	cout << "计算n个人中选k个人组成，分别输入n，k的值：" << endl;
	cin >> n >> k;
	cout << n << "个人中选" << k << "个人的组合数是" << Commit(n, k) << endl;
	return 0;
}

int Commit(int n, int k)
{
	int cmt;
	if (n == k || k == 0)
	{
		return 1;
	}
	else
	{
		return Commit(n - 1, k) + Commit(n - 1, k - 1);
	}
}

